package com.test.test_rest.blockchain_data.domain.gen;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

public class SuperGirdJobConfig implements Serializable {
    private Integer id;

    private String symbol;

    /**
     * 完成数量
     */
    private Integer completeJob;

    /**
     * 总共数量
     */
    private Integer totalJob;

    /**
     * 仓位数量
     */
    private BigDecimal sumAmount;

    /**
     * stop;start;状态
     */
    private String status;

    private Date createTime;

    /**
     * 止盈比例 1.2开区间
     */
    private BigDecimal stopProfit1;

    /**
     * 止盈比例 1.2闭区间
     */
    private BigDecimal stopProfit2;

    /**
     * 止盈比例 1.2步长
     */
    private BigDecimal stopProfitStep;

    /**
     * 止盈回调 0.3开区间
     */
    private BigDecimal stopProfitCallback1;

    /**
     * 止盈回调 0.3闭区间
     */
    private BigDecimal stopProfitCallback2;

    /**
     * 止盈回调 0.3步长
     */
    private BigDecimal stopProfitCallbackStep;

    /**
     * 上涨补仓比例 1.3开区间
     */
    private BigDecimal upWeight1;

    /**
     * 上涨补仓比例 1.3闭区间
     */
    private BigDecimal upWeight2;

    /**
     * 上涨补仓比例 1.3步长
     */
    private BigDecimal upWeightStep;

    /**
     * 上涨补仓递减 0.1开区间
     */
    private BigDecimal upDecrease1;

    /**
     * 上涨补仓递减 0.1闭区间
     */
    private BigDecimal upDecrease2;

    /**
     * 上涨补仓递减 0.1步长
     */
    private BigDecimal upDecreaseStep;

    /**
     * 上涨金额比例开区间
     */
    private BigDecimal upPriceIncremental1;

    /**
     * 上涨金额比例闭区间
     */
    private BigDecimal upPriceIncremental2;

    /**
     * 上涨金额比例步长
     */
    private BigDecimal upPriceIncrementalStep;

    /**
     * 上涨补仓最低 0.5开区间
     */
    private BigDecimal upMin1;

    /**
     * 上涨补仓最低 0.5闭区间
     */
    private BigDecimal upMin2;

    /**
     * 上涨补仓最低 0.5步长
     */
    private BigDecimal upMinStep;

    /**
     * 补仓跌幅 2.1开区间
     */
    private BigDecimal downWeight1;

    /**
     * 补仓跌幅 2.1闭区间
     */
    private BigDecimal downWeight2;

    /**
     * 补仓跌幅 2.1步长
     */
    private BigDecimal downWeightStep;

    /**
     * 补仓回调 0.5开区间
     */
    private BigDecimal downCallback1;

    /**
     * 补仓回调 0.5闭区间
     */
    private BigDecimal downCallback2;

    /**
     * 补仓回调 0.5步长
     */
    private BigDecimal downCallbackStep;

    /**
     * 下跌补仓递增比例 0.2开区间
     */
    private BigDecimal downIncremental1;

    /**
     * 下跌补仓递增比例 0.2闭区间
     */
    private BigDecimal downIncremental2;

    /**
     * 下跌补仓递增比例 0.2步长
     */
    private BigDecimal downIncrementalStep;

    /**
     * 下跌补仓金额比例开区间
     */
    private BigDecimal downPriceIncremental1;

    /**
     * 下跌补仓金额比例闭区间
     */
    private BigDecimal downPriceIncremental2;

    /**
     * 下跌补仓金额比例步长
     */
    private BigDecimal downPriceIncrementalStep;

    /**
     * 下跌补仓最高比例 30.0开区间
     */
    private BigDecimal downMax1;

    /**
     * 下跌补仓最高比例 30.0闭区间
     */
    private BigDecimal downMax2;

    /**
     * 下跌补仓最高比例 30.0步长
     */
    private BigDecimal downMaxStep;

    /**
     * 下跌止损比例 0.25开区间
     */
    private BigDecimal stopLose1;

    /**
     * 下跌止损比例 0.25闭区间
     */
    private BigDecimal stopLose2;

    /**
     * 下跌止损比例 0.25步长
     */
    private BigDecimal stopLoseStep;

    /**
     * 首单金额比例开区间
     */
    private BigDecimal firstPricePercent1;

    /**
     * 首单金额比例闭区间
     */
    private BigDecimal firstPricePercent2;

    /**
     * 首单金额比例步长
     */
    private BigDecimal firstPricePercentStep;

    private Date startTime;

    private Date endTime;

    private static final long serialVersionUID = 1L;

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public String getSymbol() {
        return symbol;
    }

    public void setSymbol(String symbol) {
        this.symbol = symbol;
    }

    /**
     * 完成数量
     */
    public Integer getCompleteJob() {
        return completeJob;
    }

    /**
     * 完成数量
     */
    public void setCompleteJob(Integer completeJob) {
        this.completeJob = completeJob;
    }

    /**
     * 总共数量
     */
    public Integer getTotalJob() {
        return totalJob;
    }

    /**
     * 总共数量
     */
    public void setTotalJob(Integer totalJob) {
        this.totalJob = totalJob;
    }

    /**
     * 仓位数量
     */
    public BigDecimal getSumAmount() {
        return sumAmount;
    }

    /**
     * 仓位数量
     */
    public void setSumAmount(BigDecimal sumAmount) {
        this.sumAmount = sumAmount;
    }

    /**
     * stop;start;状态
     */
    public String getStatus() {
        return status;
    }

    /**
     * stop;start;状态
     */
    public void setStatus(String status) {
        this.status = status;
    }

    public Date getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    /**
     * 止盈比例 1.2开区间
     */
    public BigDecimal getStopProfit1() {
        return stopProfit1;
    }

    /**
     * 止盈比例 1.2开区间
     */
    public void setStopProfit1(BigDecimal stopProfit1) {
        this.stopProfit1 = stopProfit1;
    }

    /**
     * 止盈比例 1.2闭区间
     */
    public BigDecimal getStopProfit2() {
        return stopProfit2;
    }

    /**
     * 止盈比例 1.2闭区间
     */
    public void setStopProfit2(BigDecimal stopProfit2) {
        this.stopProfit2 = stopProfit2;
    }

    /**
     * 止盈比例 1.2步长
     */
    public BigDecimal getStopProfitStep() {
        return stopProfitStep;
    }

    /**
     * 止盈比例 1.2步长
     */
    public void setStopProfitStep(BigDecimal stopProfitStep) {
        this.stopProfitStep = stopProfitStep;
    }

    /**
     * 止盈回调 0.3开区间
     */
    public BigDecimal getStopProfitCallback1() {
        return stopProfitCallback1;
    }

    /**
     * 止盈回调 0.3开区间
     */
    public void setStopProfitCallback1(BigDecimal stopProfitCallback1) {
        this.stopProfitCallback1 = stopProfitCallback1;
    }

    /**
     * 止盈回调 0.3闭区间
     */
    public BigDecimal getStopProfitCallback2() {
        return stopProfitCallback2;
    }

    /**
     * 止盈回调 0.3闭区间
     */
    public void setStopProfitCallback2(BigDecimal stopProfitCallback2) {
        this.stopProfitCallback2 = stopProfitCallback2;
    }

    /**
     * 止盈回调 0.3步长
     */
    public BigDecimal getStopProfitCallbackStep() {
        return stopProfitCallbackStep;
    }

    /**
     * 止盈回调 0.3步长
     */
    public void setStopProfitCallbackStep(BigDecimal stopProfitCallbackStep) {
        this.stopProfitCallbackStep = stopProfitCallbackStep;
    }

    /**
     * 上涨补仓比例 1.3开区间
     */
    public BigDecimal getUpWeight1() {
        return upWeight1;
    }

    /**
     * 上涨补仓比例 1.3开区间
     */
    public void setUpWeight1(BigDecimal upWeight1) {
        this.upWeight1 = upWeight1;
    }

    /**
     * 上涨补仓比例 1.3闭区间
     */
    public BigDecimal getUpWeight2() {
        return upWeight2;
    }

    /**
     * 上涨补仓比例 1.3闭区间
     */
    public void setUpWeight2(BigDecimal upWeight2) {
        this.upWeight2 = upWeight2;
    }

    /**
     * 上涨补仓比例 1.3步长
     */
    public BigDecimal getUpWeightStep() {
        return upWeightStep;
    }

    /**
     * 上涨补仓比例 1.3步长
     */
    public void setUpWeightStep(BigDecimal upWeightStep) {
        this.upWeightStep = upWeightStep;
    }

    /**
     * 上涨补仓递减 0.1开区间
     */
    public BigDecimal getUpDecrease1() {
        return upDecrease1;
    }

    /**
     * 上涨补仓递减 0.1开区间
     */
    public void setUpDecrease1(BigDecimal upDecrease1) {
        this.upDecrease1 = upDecrease1;
    }

    /**
     * 上涨补仓递减 0.1闭区间
     */
    public BigDecimal getUpDecrease2() {
        return upDecrease2;
    }

    /**
     * 上涨补仓递减 0.1闭区间
     */
    public void setUpDecrease2(BigDecimal upDecrease2) {
        this.upDecrease2 = upDecrease2;
    }

    /**
     * 上涨补仓递减 0.1步长
     */
    public BigDecimal getUpDecreaseStep() {
        return upDecreaseStep;
    }

    /**
     * 上涨补仓递减 0.1步长
     */
    public void setUpDecreaseStep(BigDecimal upDecreaseStep) {
        this.upDecreaseStep = upDecreaseStep;
    }

    /**
     * 上涨金额比例开区间
     */
    public BigDecimal getUpPriceIncremental1() {
        return upPriceIncremental1;
    }

    /**
     * 上涨金额比例开区间
     */
    public void setUpPriceIncremental1(BigDecimal upPriceIncremental1) {
        this.upPriceIncremental1 = upPriceIncremental1;
    }

    /**
     * 上涨金额比例闭区间
     */
    public BigDecimal getUpPriceIncremental2() {
        return upPriceIncremental2;
    }

    /**
     * 上涨金额比例闭区间
     */
    public void setUpPriceIncremental2(BigDecimal upPriceIncremental2) {
        this.upPriceIncremental2 = upPriceIncremental2;
    }

    /**
     * 上涨金额比例步长
     */
    public BigDecimal getUpPriceIncrementalStep() {
        return upPriceIncrementalStep;
    }

    /**
     * 上涨金额比例步长
     */
    public void setUpPriceIncrementalStep(BigDecimal upPriceIncrementalStep) {
        this.upPriceIncrementalStep = upPriceIncrementalStep;
    }

    /**
     * 上涨补仓最低 0.5开区间
     */
    public BigDecimal getUpMin1() {
        return upMin1;
    }

    /**
     * 上涨补仓最低 0.5开区间
     */
    public void setUpMin1(BigDecimal upMin1) {
        this.upMin1 = upMin1;
    }

    /**
     * 上涨补仓最低 0.5闭区间
     */
    public BigDecimal getUpMin2() {
        return upMin2;
    }

    /**
     * 上涨补仓最低 0.5闭区间
     */
    public void setUpMin2(BigDecimal upMin2) {
        this.upMin2 = upMin2;
    }

    /**
     * 上涨补仓最低 0.5步长
     */
    public BigDecimal getUpMinStep() {
        return upMinStep;
    }

    /**
     * 上涨补仓最低 0.5步长
     */
    public void setUpMinStep(BigDecimal upMinStep) {
        this.upMinStep = upMinStep;
    }

    /**
     * 补仓跌幅 2.1开区间
     */
    public BigDecimal getDownWeight1() {
        return downWeight1;
    }

    /**
     * 补仓跌幅 2.1开区间
     */
    public void setDownWeight1(BigDecimal downWeight1) {
        this.downWeight1 = downWeight1;
    }

    /**
     * 补仓跌幅 2.1闭区间
     */
    public BigDecimal getDownWeight2() {
        return downWeight2;
    }

    /**
     * 补仓跌幅 2.1闭区间
     */
    public void setDownWeight2(BigDecimal downWeight2) {
        this.downWeight2 = downWeight2;
    }

    /**
     * 补仓跌幅 2.1步长
     */
    public BigDecimal getDownWeightStep() {
        return downWeightStep;
    }

    /**
     * 补仓跌幅 2.1步长
     */
    public void setDownWeightStep(BigDecimal downWeightStep) {
        this.downWeightStep = downWeightStep;
    }

    /**
     * 补仓回调 0.5开区间
     */
    public BigDecimal getDownCallback1() {
        return downCallback1;
    }

    /**
     * 补仓回调 0.5开区间
     */
    public void setDownCallback1(BigDecimal downCallback1) {
        this.downCallback1 = downCallback1;
    }

    /**
     * 补仓回调 0.5闭区间
     */
    public BigDecimal getDownCallback2() {
        return downCallback2;
    }

    /**
     * 补仓回调 0.5闭区间
     */
    public void setDownCallback2(BigDecimal downCallback2) {
        this.downCallback2 = downCallback2;
    }

    /**
     * 补仓回调 0.5步长
     */
    public BigDecimal getDownCallbackStep() {
        return downCallbackStep;
    }

    /**
     * 补仓回调 0.5步长
     */
    public void setDownCallbackStep(BigDecimal downCallbackStep) {
        this.downCallbackStep = downCallbackStep;
    }

    /**
     * 下跌补仓递增比例 0.2开区间
     */
    public BigDecimal getDownIncremental1() {
        return downIncremental1;
    }

    /**
     * 下跌补仓递增比例 0.2开区间
     */
    public void setDownIncremental1(BigDecimal downIncremental1) {
        this.downIncremental1 = downIncremental1;
    }

    /**
     * 下跌补仓递增比例 0.2闭区间
     */
    public BigDecimal getDownIncremental2() {
        return downIncremental2;
    }

    /**
     * 下跌补仓递增比例 0.2闭区间
     */
    public void setDownIncremental2(BigDecimal downIncremental2) {
        this.downIncremental2 = downIncremental2;
    }

    /**
     * 下跌补仓递增比例 0.2步长
     */
    public BigDecimal getDownIncrementalStep() {
        return downIncrementalStep;
    }

    /**
     * 下跌补仓递增比例 0.2步长
     */
    public void setDownIncrementalStep(BigDecimal downIncrementalStep) {
        this.downIncrementalStep = downIncrementalStep;
    }

    /**
     * 下跌补仓金额比例开区间
     */
    public BigDecimal getDownPriceIncremental1() {
        return downPriceIncremental1;
    }

    /**
     * 下跌补仓金额比例开区间
     */
    public void setDownPriceIncremental1(BigDecimal downPriceIncremental1) {
        this.downPriceIncremental1 = downPriceIncremental1;
    }

    /**
     * 下跌补仓金额比例闭区间
     */
    public BigDecimal getDownPriceIncremental2() {
        return downPriceIncremental2;
    }

    /**
     * 下跌补仓金额比例闭区间
     */
    public void setDownPriceIncremental2(BigDecimal downPriceIncremental2) {
        this.downPriceIncremental2 = downPriceIncremental2;
    }

    /**
     * 下跌补仓金额比例步长
     */
    public BigDecimal getDownPriceIncrementalStep() {
        return downPriceIncrementalStep;
    }

    /**
     * 下跌补仓金额比例步长
     */
    public void setDownPriceIncrementalStep(BigDecimal downPriceIncrementalStep) {
        this.downPriceIncrementalStep = downPriceIncrementalStep;
    }

    /**
     * 下跌补仓最高比例 30.0开区间
     */
    public BigDecimal getDownMax1() {
        return downMax1;
    }

    /**
     * 下跌补仓最高比例 30.0开区间
     */
    public void setDownMax1(BigDecimal downMax1) {
        this.downMax1 = downMax1;
    }

    /**
     * 下跌补仓最高比例 30.0闭区间
     */
    public BigDecimal getDownMax2() {
        return downMax2;
    }

    /**
     * 下跌补仓最高比例 30.0闭区间
     */
    public void setDownMax2(BigDecimal downMax2) {
        this.downMax2 = downMax2;
    }

    /**
     * 下跌补仓最高比例 30.0步长
     */
    public BigDecimal getDownMaxStep() {
        return downMaxStep;
    }

    /**
     * 下跌补仓最高比例 30.0步长
     */
    public void setDownMaxStep(BigDecimal downMaxStep) {
        this.downMaxStep = downMaxStep;
    }

    /**
     * 下跌止损比例 0.25开区间
     */
    public BigDecimal getStopLose1() {
        return stopLose1;
    }

    /**
     * 下跌止损比例 0.25开区间
     */
    public void setStopLose1(BigDecimal stopLose1) {
        this.stopLose1 = stopLose1;
    }

    /**
     * 下跌止损比例 0.25闭区间
     */
    public BigDecimal getStopLose2() {
        return stopLose2;
    }

    /**
     * 下跌止损比例 0.25闭区间
     */
    public void setStopLose2(BigDecimal stopLose2) {
        this.stopLose2 = stopLose2;
    }

    /**
     * 下跌止损比例 0.25步长
     */
    public BigDecimal getStopLoseStep() {
        return stopLoseStep;
    }

    /**
     * 下跌止损比例 0.25步长
     */
    public void setStopLoseStep(BigDecimal stopLoseStep) {
        this.stopLoseStep = stopLoseStep;
    }

    /**
     * 首单金额比例开区间
     */
    public BigDecimal getFirstPricePercent1() {
        return firstPricePercent1;
    }

    /**
     * 首单金额比例开区间
     */
    public void setFirstPricePercent1(BigDecimal firstPricePercent1) {
        this.firstPricePercent1 = firstPricePercent1;
    }

    /**
     * 首单金额比例闭区间
     */
    public BigDecimal getFirstPricePercent2() {
        return firstPricePercent2;
    }

    /**
     * 首单金额比例闭区间
     */
    public void setFirstPricePercent2(BigDecimal firstPricePercent2) {
        this.firstPricePercent2 = firstPricePercent2;
    }

    /**
     * 首单金额比例步长
     */
    public BigDecimal getFirstPricePercentStep() {
        return firstPricePercentStep;
    }

    /**
     * 首单金额比例步长
     */
    public void setFirstPricePercentStep(BigDecimal firstPricePercentStep) {
        this.firstPricePercentStep = firstPricePercentStep;
    }

    public Date getStartTime() {
        return startTime;
    }

    public void setStartTime(Date startTime) {
        this.startTime = startTime;
    }

    public Date getEndTime() {
        return endTime;
    }

    public void setEndTime(Date endTime) {
        this.endTime = endTime;
    }

    @Override
    public String toString() {
        StringBuilder sb = new StringBuilder();
        sb.append(getClass().getSimpleName());
        sb.append(" [");
        sb.append("Hash = ").append(hashCode());
        sb.append(", id=").append(id);
        sb.append(", symbol=").append(symbol);
        sb.append(", completeJob=").append(completeJob);
        sb.append(", totalJob=").append(totalJob);
        sb.append(", sumAmount=").append(sumAmount);
        sb.append(", status=").append(status);
        sb.append(", createTime=").append(createTime);
        sb.append(", stopProfit1=").append(stopProfit1);
        sb.append(", stopProfit2=").append(stopProfit2);
        sb.append(", stopProfitStep=").append(stopProfitStep);
        sb.append(", stopProfitCallback1=").append(stopProfitCallback1);
        sb.append(", stopProfitCallback2=").append(stopProfitCallback2);
        sb.append(", stopProfitCallbackStep=").append(stopProfitCallbackStep);
        sb.append(", upWeight1=").append(upWeight1);
        sb.append(", upWeight2=").append(upWeight2);
        sb.append(", upWeightStep=").append(upWeightStep);
        sb.append(", upDecrease1=").append(upDecrease1);
        sb.append(", upDecrease2=").append(upDecrease2);
        sb.append(", upDecreaseStep=").append(upDecreaseStep);
        sb.append(", upPriceIncremental1=").append(upPriceIncremental1);
        sb.append(", upPriceIncremental2=").append(upPriceIncremental2);
        sb.append(", upPriceIncrementalStep=").append(upPriceIncrementalStep);
        sb.append(", upMin1=").append(upMin1);
        sb.append(", upMin2=").append(upMin2);
        sb.append(", upMinStep=").append(upMinStep);
        sb.append(", downWeight1=").append(downWeight1);
        sb.append(", downWeight2=").append(downWeight2);
        sb.append(", downWeightStep=").append(downWeightStep);
        sb.append(", downCallback1=").append(downCallback1);
        sb.append(", downCallback2=").append(downCallback2);
        sb.append(", downCallbackStep=").append(downCallbackStep);
        sb.append(", downIncremental1=").append(downIncremental1);
        sb.append(", downIncremental2=").append(downIncremental2);
        sb.append(", downIncrementalStep=").append(downIncrementalStep);
        sb.append(", downPriceIncremental1=").append(downPriceIncremental1);
        sb.append(", downPriceIncremental2=").append(downPriceIncremental2);
        sb.append(", downPriceIncrementalStep=").append(downPriceIncrementalStep);
        sb.append(", downMax1=").append(downMax1);
        sb.append(", downMax2=").append(downMax2);
        sb.append(", downMaxStep=").append(downMaxStep);
        sb.append(", stopLose1=").append(stopLose1);
        sb.append(", stopLose2=").append(stopLose2);
        sb.append(", stopLoseStep=").append(stopLoseStep);
        sb.append(", firstPricePercent1=").append(firstPricePercent1);
        sb.append(", firstPricePercent2=").append(firstPricePercent2);
        sb.append(", firstPricePercentStep=").append(firstPricePercentStep);
        sb.append(", startTime=").append(startTime);
        sb.append(", endTime=").append(endTime);
        sb.append(", serialVersionUID=").append(serialVersionUID);
        sb.append("]");
        return sb.toString();
    }

    @Override
    public boolean equals(Object that) {
        if (this == that) {
            return true;
        }
        if (that == null) {
            return false;
        }
        if (getClass() != that.getClass()) {
            return false;
        }
        SuperGirdJobConfig other = (SuperGirdJobConfig) that;
        return (this.getId() == null ? other.getId() == null : this.getId().equals(other.getId()))
            && (this.getSymbol() == null ? other.getSymbol() == null : this.getSymbol().equals(other.getSymbol()))
            && (this.getCompleteJob() == null ? other.getCompleteJob() == null : this.getCompleteJob().equals(other.getCompleteJob()))
            && (this.getTotalJob() == null ? other.getTotalJob() == null : this.getTotalJob().equals(other.getTotalJob()))
            && (this.getSumAmount() == null ? other.getSumAmount() == null : this.getSumAmount().equals(other.getSumAmount()))
            && (this.getStatus() == null ? other.getStatus() == null : this.getStatus().equals(other.getStatus()))
            && (this.getCreateTime() == null ? other.getCreateTime() == null : this.getCreateTime().equals(other.getCreateTime()))
            && (this.getStopProfit1() == null ? other.getStopProfit1() == null : this.getStopProfit1().equals(other.getStopProfit1()))
            && (this.getStopProfit2() == null ? other.getStopProfit2() == null : this.getStopProfit2().equals(other.getStopProfit2()))
            && (this.getStopProfitStep() == null ? other.getStopProfitStep() == null : this.getStopProfitStep().equals(other.getStopProfitStep()))
            && (this.getStopProfitCallback1() == null ? other.getStopProfitCallback1() == null : this.getStopProfitCallback1().equals(other.getStopProfitCallback1()))
            && (this.getStopProfitCallback2() == null ? other.getStopProfitCallback2() == null : this.getStopProfitCallback2().equals(other.getStopProfitCallback2()))
            && (this.getStopProfitCallbackStep() == null ? other.getStopProfitCallbackStep() == null : this.getStopProfitCallbackStep().equals(other.getStopProfitCallbackStep()))
            && (this.getUpWeight1() == null ? other.getUpWeight1() == null : this.getUpWeight1().equals(other.getUpWeight1()))
            && (this.getUpWeight2() == null ? other.getUpWeight2() == null : this.getUpWeight2().equals(other.getUpWeight2()))
            && (this.getUpWeightStep() == null ? other.getUpWeightStep() == null : this.getUpWeightStep().equals(other.getUpWeightStep()))
            && (this.getUpDecrease1() == null ? other.getUpDecrease1() == null : this.getUpDecrease1().equals(other.getUpDecrease1()))
            && (this.getUpDecrease2() == null ? other.getUpDecrease2() == null : this.getUpDecrease2().equals(other.getUpDecrease2()))
            && (this.getUpDecreaseStep() == null ? other.getUpDecreaseStep() == null : this.getUpDecreaseStep().equals(other.getUpDecreaseStep()))
            && (this.getUpPriceIncremental1() == null ? other.getUpPriceIncremental1() == null : this.getUpPriceIncremental1().equals(other.getUpPriceIncremental1()))
            && (this.getUpPriceIncremental2() == null ? other.getUpPriceIncremental2() == null : this.getUpPriceIncremental2().equals(other.getUpPriceIncremental2()))
            && (this.getUpPriceIncrementalStep() == null ? other.getUpPriceIncrementalStep() == null : this.getUpPriceIncrementalStep().equals(other.getUpPriceIncrementalStep()))
            && (this.getUpMin1() == null ? other.getUpMin1() == null : this.getUpMin1().equals(other.getUpMin1()))
            && (this.getUpMin2() == null ? other.getUpMin2() == null : this.getUpMin2().equals(other.getUpMin2()))
            && (this.getUpMinStep() == null ? other.getUpMinStep() == null : this.getUpMinStep().equals(other.getUpMinStep()))
            && (this.getDownWeight1() == null ? other.getDownWeight1() == null : this.getDownWeight1().equals(other.getDownWeight1()))
            && (this.getDownWeight2() == null ? other.getDownWeight2() == null : this.getDownWeight2().equals(other.getDownWeight2()))
            && (this.getDownWeightStep() == null ? other.getDownWeightStep() == null : this.getDownWeightStep().equals(other.getDownWeightStep()))
            && (this.getDownCallback1() == null ? other.getDownCallback1() == null : this.getDownCallback1().equals(other.getDownCallback1()))
            && (this.getDownCallback2() == null ? other.getDownCallback2() == null : this.getDownCallback2().equals(other.getDownCallback2()))
            && (this.getDownCallbackStep() == null ? other.getDownCallbackStep() == null : this.getDownCallbackStep().equals(other.getDownCallbackStep()))
            && (this.getDownIncremental1() == null ? other.getDownIncremental1() == null : this.getDownIncremental1().equals(other.getDownIncremental1()))
            && (this.getDownIncremental2() == null ? other.getDownIncremental2() == null : this.getDownIncremental2().equals(other.getDownIncremental2()))
            && (this.getDownIncrementalStep() == null ? other.getDownIncrementalStep() == null : this.getDownIncrementalStep().equals(other.getDownIncrementalStep()))
            && (this.getDownPriceIncremental1() == null ? other.getDownPriceIncremental1() == null : this.getDownPriceIncremental1().equals(other.getDownPriceIncremental1()))
            && (this.getDownPriceIncremental2() == null ? other.getDownPriceIncremental2() == null : this.getDownPriceIncremental2().equals(other.getDownPriceIncremental2()))
            && (this.getDownPriceIncrementalStep() == null ? other.getDownPriceIncrementalStep() == null : this.getDownPriceIncrementalStep().equals(other.getDownPriceIncrementalStep()))
            && (this.getDownMax1() == null ? other.getDownMax1() == null : this.getDownMax1().equals(other.getDownMax1()))
            && (this.getDownMax2() == null ? other.getDownMax2() == null : this.getDownMax2().equals(other.getDownMax2()))
            && (this.getDownMaxStep() == null ? other.getDownMaxStep() == null : this.getDownMaxStep().equals(other.getDownMaxStep()))
            && (this.getStopLose1() == null ? other.getStopLose1() == null : this.getStopLose1().equals(other.getStopLose1()))
            && (this.getStopLose2() == null ? other.getStopLose2() == null : this.getStopLose2().equals(other.getStopLose2()))
            && (this.getStopLoseStep() == null ? other.getStopLoseStep() == null : this.getStopLoseStep().equals(other.getStopLoseStep()))
            && (this.getFirstPricePercent1() == null ? other.getFirstPricePercent1() == null : this.getFirstPricePercent1().equals(other.getFirstPricePercent1()))
            && (this.getFirstPricePercent2() == null ? other.getFirstPricePercent2() == null : this.getFirstPricePercent2().equals(other.getFirstPricePercent2()))
            && (this.getFirstPricePercentStep() == null ? other.getFirstPricePercentStep() == null : this.getFirstPricePercentStep().equals(other.getFirstPricePercentStep()))
            && (this.getStartTime() == null ? other.getStartTime() == null : this.getStartTime().equals(other.getStartTime()))
            && (this.getEndTime() == null ? other.getEndTime() == null : this.getEndTime().equals(other.getEndTime()));
    }

    @Override
    public int hashCode() {
        final int prime = 31;
        int result = 1;
        result = prime * result + ((getId() == null) ? 0 : getId().hashCode());
        result = prime * result + ((getSymbol() == null) ? 0 : getSymbol().hashCode());
        result = prime * result + ((getCompleteJob() == null) ? 0 : getCompleteJob().hashCode());
        result = prime * result + ((getTotalJob() == null) ? 0 : getTotalJob().hashCode());
        result = prime * result + ((getSumAmount() == null) ? 0 : getSumAmount().hashCode());
        result = prime * result + ((getStatus() == null) ? 0 : getStatus().hashCode());
        result = prime * result + ((getCreateTime() == null) ? 0 : getCreateTime().hashCode());
        result = prime * result + ((getStopProfit1() == null) ? 0 : getStopProfit1().hashCode());
        result = prime * result + ((getStopProfit2() == null) ? 0 : getStopProfit2().hashCode());
        result = prime * result + ((getStopProfitStep() == null) ? 0 : getStopProfitStep().hashCode());
        result = prime * result + ((getStopProfitCallback1() == null) ? 0 : getStopProfitCallback1().hashCode());
        result = prime * result + ((getStopProfitCallback2() == null) ? 0 : getStopProfitCallback2().hashCode());
        result = prime * result + ((getStopProfitCallbackStep() == null) ? 0 : getStopProfitCallbackStep().hashCode());
        result = prime * result + ((getUpWeight1() == null) ? 0 : getUpWeight1().hashCode());
        result = prime * result + ((getUpWeight2() == null) ? 0 : getUpWeight2().hashCode());
        result = prime * result + ((getUpWeightStep() == null) ? 0 : getUpWeightStep().hashCode());
        result = prime * result + ((getUpDecrease1() == null) ? 0 : getUpDecrease1().hashCode());
        result = prime * result + ((getUpDecrease2() == null) ? 0 : getUpDecrease2().hashCode());
        result = prime * result + ((getUpDecreaseStep() == null) ? 0 : getUpDecreaseStep().hashCode());
        result = prime * result + ((getUpPriceIncremental1() == null) ? 0 : getUpPriceIncremental1().hashCode());
        result = prime * result + ((getUpPriceIncremental2() == null) ? 0 : getUpPriceIncremental2().hashCode());
        result = prime * result + ((getUpPriceIncrementalStep() == null) ? 0 : getUpPriceIncrementalStep().hashCode());
        result = prime * result + ((getUpMin1() == null) ? 0 : getUpMin1().hashCode());
        result = prime * result + ((getUpMin2() == null) ? 0 : getUpMin2().hashCode());
        result = prime * result + ((getUpMinStep() == null) ? 0 : getUpMinStep().hashCode());
        result = prime * result + ((getDownWeight1() == null) ? 0 : getDownWeight1().hashCode());
        result = prime * result + ((getDownWeight2() == null) ? 0 : getDownWeight2().hashCode());
        result = prime * result + ((getDownWeightStep() == null) ? 0 : getDownWeightStep().hashCode());
        result = prime * result + ((getDownCallback1() == null) ? 0 : getDownCallback1().hashCode());
        result = prime * result + ((getDownCallback2() == null) ? 0 : getDownCallback2().hashCode());
        result = prime * result + ((getDownCallbackStep() == null) ? 0 : getDownCallbackStep().hashCode());
        result = prime * result + ((getDownIncremental1() == null) ? 0 : getDownIncremental1().hashCode());
        result = prime * result + ((getDownIncremental2() == null) ? 0 : getDownIncremental2().hashCode());
        result = prime * result + ((getDownIncrementalStep() == null) ? 0 : getDownIncrementalStep().hashCode());
        result = prime * result + ((getDownPriceIncremental1() == null) ? 0 : getDownPriceIncremental1().hashCode());
        result = prime * result + ((getDownPriceIncremental2() == null) ? 0 : getDownPriceIncremental2().hashCode());
        result = prime * result + ((getDownPriceIncrementalStep() == null) ? 0 : getDownPriceIncrementalStep().hashCode());
        result = prime * result + ((getDownMax1() == null) ? 0 : getDownMax1().hashCode());
        result = prime * result + ((getDownMax2() == null) ? 0 : getDownMax2().hashCode());
        result = prime * result + ((getDownMaxStep() == null) ? 0 : getDownMaxStep().hashCode());
        result = prime * result + ((getStopLose1() == null) ? 0 : getStopLose1().hashCode());
        result = prime * result + ((getStopLose2() == null) ? 0 : getStopLose2().hashCode());
        result = prime * result + ((getStopLoseStep() == null) ? 0 : getStopLoseStep().hashCode());
        result = prime * result + ((getFirstPricePercent1() == null) ? 0 : getFirstPricePercent1().hashCode());
        result = prime * result + ((getFirstPricePercent2() == null) ? 0 : getFirstPricePercent2().hashCode());
        result = prime * result + ((getFirstPricePercentStep() == null) ? 0 : getFirstPricePercentStep().hashCode());
        result = prime * result + ((getStartTime() == null) ? 0 : getStartTime().hashCode());
        result = prime * result + ((getEndTime() == null) ? 0 : getEndTime().hashCode());
        return result;
    }
}